home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / esc.jar / com / extensibility / xa / ClipData.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-06-30  |  2.3 KB  |  67 lines

  1. package com.extensibility.xa;
  2.  
  3. import com.extensibility.util.Debug;
  4. import com.extensibility.xml.BaseDeclaration;
  5. import java.awt.datatransfer.DataFlavor;
  6. import java.awt.datatransfer.Transferable;
  7. import java.util.Vector;
  8. import javax.swing.ListSelectionModel;
  9.  
  10. class ClipData implements Transferable {
  11.    Vector theData = new Vector();
  12.    SchemaDoc doc;
  13.    DataFlavor[] flavors;
  14.  
  15.    public ClipData(SchemaDoc var1, BaseDeclaration var2) {
  16.       this.theData.addElement(var2);
  17.       this.doc = var1;
  18.       this.flavors = new DataFlavor[]{new DataFlavor(var2.getClass(), var2.getClassName())};
  19.    }
  20.  
  21.    public ClipData(DeclTableModel var1, ListSelectionModel var2) {
  22.       for(int var3 = var2.getMinSelectionIndex(); var3 <= var2.getMaxSelectionIndex(); ++var3) {
  23.          if (var2.isSelectedIndex(var3)) {
  24.             Object var4 = var1.getDeclaration(var3);
  25.             if (var4 != null) {
  26.                if (var4 instanceof AggregateAttributeDecl) {
  27.                   var4 = ((AggregateAttributeDecl)var4).copyOf();
  28.                } else {
  29.                   try {
  30.                      var4 = (BaseDeclaration)((BaseDeclaration)var4).clone();
  31.                   } catch (Exception var6) {
  32.                      Debug.assert(var6);
  33.                   }
  34.                }
  35.  
  36.                this.theData.addElement(var4);
  37.             }
  38.          }
  39.       }
  40.  
  41.       this.doc = var1.getSchemaDoc();
  42.       this.flavors = new DataFlavor[]{var1.getRowFlavor()};
  43.    }
  44.  
  45.    public Object getTransferData(DataFlavor var1) {
  46.       return this.theData;
  47.    }
  48.  
  49.    public DataFlavor[] getTransferDataFlavors() {
  50.       return this.flavors;
  51.    }
  52.  
  53.    public boolean isDataFlavorSupported(DataFlavor var1) {
  54.       for(int var2 = 0; var2 < this.theData.size(); ++var2) {
  55.          if (var1.getRepresentationClass() == this.theData.elementAt(var2).getClass()) {
  56.             return true;
  57.          }
  58.       }
  59.  
  60.       return false;
  61.    }
  62.  
  63.    public SchemaDoc getSchemaDoc() {
  64.       return this.doc;
  65.    }
  66. }
  67.